Skip to content

Testing Python >= 3.11 and <= 3.12 (based on release 1.4.0)#197

Draft
bwintermann wants to merge 16 commits into
devfrom
version/py3.11_py3.13
Draft

Testing Python >= 3.11 and <= 3.12 (based on release 1.4.0)#197
bwintermann wants to merge 16 commits into
devfrom
version/py3.11_py3.13

Conversation

@bwintermann
Copy link
Copy Markdown

@bwintermann bwintermann commented Apr 15, 2026

Testing Python versions between 3.11 and 3.13 instead of the current 3.10. Comes with an update to onnx and onnxruntime

Changes:

  • Raised Python minimum version to 3.11 (was 3.10)
  • Raised Python maximum version to 3.12 (was 3.11)
  • Raised onnx to 1.21.0 (was 1.17.0)
  • Raised onnxruntime to 1.24.4 (was1.20.1)
  • Raised onnxoptimizer to ^0.4.2 (was ^0.3.13)
  • Updated CI module loads
  • Includes updates to onnx-passes from [Deps] Update onnx-passes external dependency #199

Checked versions:

  • Python 3.13: Not compatible (brevitas upper bounds to <3.13)
  • Python 3.12:
  • Python 3.11:

TODO:

@eki-project eki-project deleted a comment from github-actions Bot Apr 15, 2026
@eki-project eki-project deleted a comment from github-actions Bot Apr 16, 2026
@eki-project eki-project deleted a comment from github-actions Bot Apr 16, 2026
@eki-project eki-project deleted a comment from github-actions Bot Apr 16, 2026
@bwintermann bwintermann changed the title Setting Python >= 3.11 and <= 3.13 Setting Python >= 3.11 and <= 3.12 Apr 16, 2026
@bwintermann bwintermann changed the title Setting Python >= 3.11 and <= 3.12 Testing Python >= 3.11 and <= 3.12 (based on release 1.4.0) Apr 17, 2026
@bwintermann bwintermann added this to the FINN+ v1.5.0 milestone Apr 17, 2026
@bwintermann bwintermann added the enhancement New feature or request label Apr 17, 2026
@LinusJungemann
Copy link
Copy Markdown
Member

Python 3.13 depends on Xilinx/brevitas#1511

@LinusJungemann
Copy link
Copy Markdown
Member

New brevitas release with 3.13 support is expected in the next couple of weeks.

@eki-project eki-project deleted a comment from github-actions Bot Apr 28, 2026
@github-actions
Copy link
Copy Markdown

📋 Docstring Check Report

Docstring check failed!

Missing Docstrings Details:

📄 src/finn/transformation/streamline/reorder.py:

  • Line 1: module 'reorder.py'
  • Line 62: function 'MoveAddPastMul.apply'
  • Line 126: function 'MoveScalarMulPastMatMul.apply'
  • Line 183: function 'MoveScalarAddPastMatMul.apply'
  • Line 240: function 'MoveAddPastConv.apply'
  • Line 320: function 'MoveScalarMulPastConv.apply'
  • Line 369: function 'MoveScalarMulPastConvTranspose.apply'
  • Line 418: function 'MoveMulPastDWConv.apply'
  • Line 480: function 'MoveMulPastMaxPool.apply'
  • Line 551: function 'MoveLinearPastEltwiseAdd.move_node'
  • Line 571: function 'MoveLinearPastEltwiseAdd.apply'
  • Line 660: function 'MoveScalarLinearPastInvariants.apply'
  • Line 739: function 'MakeMaxPoolNHWC.apply'
  • Line 813: function 'MakeScaleResizeNHWC.apply'
  • Line 914: function 'MoveOpPastFork.init'
  • Line 918: function 'MoveOpPastFork.apply'
  • Line 982: class 'MoveAddPastFork'
  • Line 983: function 'MoveAddPastFork.init'
  • Line 987: class 'MoveMulPastFork'
  • Line 988: function 'MoveMulPastFork.init'
  • Line 992: class 'MoveLinearPastFork'
  • Line 993: function 'MoveLinearPastFork.init'
  • Line 997: class 'MoveTransposePastFork'
  • Line 998: function 'MoveTransposePastFork.init'
  • Line 1002: function 'permute_shape'
  • Line 1014: function 'MoveScalarLinearPastSplit.init'
  • Line 1019: function 'MoveScalarLinearPastSplit.apply'
  • Line 1065: class 'MoveTransposePastSplit'
  • Line 1066: function 'MoveTransposePastSplit.init'
  • Line 1071: function 'MoveTransposePastSplit.apply'
  • Line 1118: function 'MoveMaxPoolPastMultiThreshold.apply'
  • Line 1181: function 'MoveFlattenPastTopK.apply'
  • Line 1241: function 'MoveFlattenPastAffine.apply'
  • Line 1327: function 'MoveTransposePastScalarMul.apply'
  • Line 1389: function 'MoveIdenticalOpPastJoinOp.init'
  • Line 1433: function 'MoveIdenticalOpPastJoinOp.apply'
  • Line 1468: class 'MoveTransposePastJoinAdd'
  • Line 1469: function 'MoveTransposePastJoinAdd.init'
  • Line 1472: function 'MoveTransposePastJoinAdd.are_producers_identical'
  • Line 1482: class 'MoveTransposePastJoinMul'
  • Line 1483: function 'MoveTransposePastJoinMul.init'
  • Line 1486: function 'MoveTransposePastJoinMul.are_producers_identical'
  • Line 1496: class 'MoveMulPastJoinAdd'
  • Line 1497: function 'MoveMulPastJoinAdd.init'
  • Line 1500: function 'MoveMulPastJoinAdd.are_producers_identical'
  • Line 1512: class 'MoveAddPastJoinAdd'
  • Line 1513: function 'MoveAddPastJoinAdd.init'
  • Line 1516: function 'MoveAddPastJoinAdd.are_producers_identical'
  • Line 1537: class 'MoveTransposePastJoinConcat'
  • Line 1538: function 'MoveTransposePastJoinConcat.init'
  • Line 1541: function 'MoveTransposePastJoinConcat.are_producers_identical'
  • Line 1550: function 'MoveTransposePastJoinConcat.move_node'
  • Line 1587: function 'MoveAffinePastJoinConcat.init'
  • Line 1590: function 'MoveAffinePastJoinConcat.are_producers_identical_scalar_ops'
  • Line 1599: function 'MoveAffinePastJoinConcat.are_producers_channelwise_ops'
  • Line 1612: function 'MoveAffinePastJoinConcat.move_node'
  • Line 1662: class 'MoveMulPastJoinConcat'
  • Line 1663: function 'MoveMulPastJoinConcat.init'
  • Line 1667: class 'MoveAddPastJoinConcat'
  • Line 1668: function 'MoveAddPastJoinConcat.init'
  • Line 1674: class 'MoveSqueezePastMultiThreshold'
  • Line 1676: function 'MoveSqueezePastMultiThreshold.apply'
  • Line 1736: class 'MoveSqueezePastMatMul'
  • Line 1738: function 'MoveSqueezePastMatMul.apply'
  • Line 1800: class 'MoveTransposePastEltwise'
  • Line 1802: function 'MoveTransposePastEltwise.apply'
  • Line 1905: class 'MoveAddPastMatMul'
  • Line 1907: function 'MoveAddPastMatMul.apply'
  • Line 2007: class 'MoveConstMulPastJoinMul'
  • Line 2009: function 'MoveConstMulPastJoinMul.apply'
  • Line 2084: class 'MoveMulPastAdd'
  • Line 2086: function 'MoveMulPastAdd.apply'
  • Line 2167: class 'MoveScalarLinearPastFork'
  • Line 2169: function 'MoveScalarLinearPastFork.apply'
  • Line 2221: class 'MoveChannelwiseLinearPastFork'
  • Line 2223: function 'MoveChannelwiseLinearPastFork.apply'
  • Line 2272: function 'MoveChannelwiseLinearPastFork.can_broadcast_to'
  • Line 2327: class 'MoveScalesPastIm2Col'
  • Line 2329: function 'MoveScalesPastIm2Col.apply'

Total missing docstrings: 79

How to Fix:

Please add docstrings to the missing functions, classes, and modules listed above.

Docstring Guidelines:

  • All modules should have a module-level docstring
  • All public functions and methods should have docstrings
  • All private functions should have docstrings
  • All classes should have docstrings
  • Use triple quotes (""") for docstrings
  • Follow PEP 257 conventions
Raw output from docstring checker
Checking 1 specified Python file(s) (excluding tests folder):
  - src/finn/transformation/streamline/reorder.py

❌ Missing docstrings found:

📄 src/finn/transformation/streamline/reorder.py:
  - Line 1: module 'reorder.py'
  - Line 62: function 'MoveAddPastMul.apply'
  - Line 126: function 'MoveScalarMulPastMatMul.apply'
  - Line 183: function 'MoveScalarAddPastMatMul.apply'
  - Line 240: function 'MoveAddPastConv.apply'
  - Line 320: function 'MoveScalarMulPastConv.apply'
  - Line 369: function 'MoveScalarMulPastConvTranspose.apply'
  - Line 418: function 'MoveMulPastDWConv.apply'
  - Line 480: function 'MoveMulPastMaxPool.apply'
  - Line 551: function 'MoveLinearPastEltwiseAdd.move_node'
  - Line 571: function 'MoveLinearPastEltwiseAdd.apply'
  - Line 660: function 'MoveScalarLinearPastInvariants.apply'
  - Line 739: function 'MakeMaxPoolNHWC.apply'
  - Line 813: function 'MakeScaleResizeNHWC.apply'
  - Line 914: function 'MoveOpPastFork.__init__'
  - Line 918: function 'MoveOpPastFork.apply'
  - Line 982: class 'MoveAddPastFork'
  - Line 983: function 'MoveAddPastFork.__init__'
  - Line 987: class 'MoveMulPastFork'
  - Line 988: function 'MoveMulPastFork.__init__'
  - Line 992: class 'MoveLinearPastFork'
  - Line 993: function 'MoveLinearPastFork.__init__'
  - Line 997: class 'MoveTransposePastFork'
  - Line 998: function 'MoveTransposePastFork.__init__'
  - Line 1002: function 'permute_shape'
  - Line 1014: function 'MoveScalarLinearPastSplit.__init__'
  - Line 1019: function 'MoveScalarLinearPastSplit.apply'
  - Line 1065: class 'MoveTransposePastSplit'
  - Line 1066: function 'MoveTransposePastSplit.__init__'
  - Line 1071: function 'MoveTransposePastSplit.apply'
  - Line 1118: function 'MoveMaxPoolPastMultiThreshold.apply'
  - Line 1181: function 'MoveFlattenPastTopK.apply'
  - Line 1241: function 'MoveFlattenPastAffine.apply'
  - Line 1327: function 'MoveTransposePastScalarMul.apply'
  - Line 1389: function 'MoveIdenticalOpPastJoinOp.__init__'
  - Line 1433: function 'MoveIdenticalOpPastJoinOp.apply'
  - Line 1468: class 'MoveTransposePastJoinAdd'
  - Line 1469: function 'MoveTransposePastJoinAdd.__init__'
  - Line 1472: function 'MoveTransposePastJoinAdd.are_producers_identical'
  - Line 1482: class 'MoveTransposePastJoinMul'
  - Line 1483: function 'MoveTransposePastJoinMul.__init__'
  - Line 1486: function 'MoveTransposePastJoinMul.are_producers_identical'
  - Line 1496: class 'MoveMulPastJoinAdd'
  - Line 1497: function 'MoveMulPastJoinAdd.__init__'
  - Line 1500: function 'MoveMulPastJoinAdd.are_producers_identical'
  - Line 1512: class 'MoveAddPastJoinAdd'
  - Line 1513: function 'MoveAddPastJoinAdd.__init__'
  - Line 1516: function 'MoveAddPastJoinAdd.are_producers_identical'
  - Line 1537: class 'MoveTransposePastJoinConcat'
  - Line 1538: function 'MoveTransposePastJoinConcat.__init__'
  - Line 1541: function 'MoveTransposePastJoinConcat.are_producers_identical'
  - Line 1550: function 'MoveTransposePastJoinConcat.move_node'
  - Line 1587: function 'MoveAffinePastJoinConcat.__init__'
  - Line 1590: function 'MoveAffinePastJoinConcat.are_producers_identical_scalar_ops'
  - Line 1599: function 'MoveAffinePastJoinConcat.are_producers_channelwise_ops'
  - Line 1612: function 'MoveAffinePastJoinConcat.move_node'
  - Line 1662: class 'MoveMulPastJoinConcat'
  - Line 1663: function 'MoveMulPastJoinConcat.__init__'
  - Line 1667: class 'MoveAddPastJoinConcat'
  - Line 1668: function 'MoveAddPastJoinConcat.__init__'
  - Line 1674: class 'MoveSqueezePastMultiThreshold'
  - Line 1676: function 'MoveSqueezePastMultiThreshold.apply'
  - Line 1736: class 'MoveSqueezePastMatMul'
  - Line 1738: function 'MoveSqueezePastMatMul.apply'
  - Line 1800: class 'MoveTransposePastEltwise'
  - Line 1802: function 'MoveTransposePastEltwise.apply'
  - Line 1905: class 'MoveAddPastMatMul'
  - Line 1907: function 'MoveAddPastMatMul.apply'
  - Line 2007: class 'MoveConstMulPastJoinMul'
  - Line 2009: function 'MoveConstMulPastJoinMul.apply'
  - Line 2084: class 'MoveMulPastAdd'
  - Line 2086: function 'MoveMulPastAdd.apply'
  - Line 2167: class 'MoveScalarLinearPastFork'
  - Line 2169: function 'MoveScalarLinearPastFork.apply'
  - Line 2221: class 'MoveChannelwiseLinearPastFork'
  - Line 2223: function 'MoveChannelwiseLinearPastFork.apply'
  - Line 2272: function 'MoveChannelwiseLinearPastFork.can_broadcast_to'
  - Line 2327: class 'MoveScalesPastIm2Col'
  - Line 2329: function 'MoveScalesPastIm2Col.apply'

Total missing docstrings: 79

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants